package com.example.chat.constant;

import java.util.List;

/**
 * @author pq
 * @date 2022/8/17 11:33
 * @description
 * @modified
 **/
public class StaticConstant {
    /**
     * 没有具体业务含义的 整数常量
     */
    public static final Integer ZERO = 0;

    /**
     * 没有具体业务含义的 整数常量
     */
    public static final Integer ONE = 1;

    /**
     * 没有具体业务含义的 整数常量
     */
    public static final Integer TWO = 2;

    public static final Integer THREE = 3;

    public static final Integer TEN = 10;

    /**
     * @description 时间格式
     */
    public static final String MAIL_FORMAT = "yyyy年MM月dd日";
    public static final String DOA_DATE_FORMAT = "yyyy.MM.dd HH:mm:ss";
    public static final String DOA_DATE_FORMAT_TWO = "yyyy.MM.dd HH:mm";
    public static final String DATE_FORMAT = "yyyy.MM.dd";
    public static final String DATE_FORMAT_RE = "yyyy/MM/dd";
    public static final String DATE_FORMAT_BAR = "yyyy-MM-dd";
    public static final String DATE_FORMAT_MONTH = "yyyy.MM";
    public static final String DATE_FORMAT_MONTH_DAY = "MM.dd";
    public static final String DATE_FORMAT_DAY = "yyyyMMdd";
    public static final long ONE_DAY_MILLISECONDS = 1000 * 24 * 60 * 60;

    public static final String NULL = "null";

    /**
     * spilt symbol
     */
    public static final String DOC_SYMBOL = ", ";

    public static final String HTML_SCOPE = "<a href = %s>%s</a>";


    /**
     * @description 东八区
     */
    public static final String GMT8 = "GMT+08:00";

    /**
     * @description 单窗口登录
     */
    public static final String loginUUID = "loginUUID";

    public static final String FEEK_ITEM_TEMPLATE = "<div>\n" +
            "\t\t\t\t\t\t<p style=\"line-height:30px;\">学员姓名: %s</p>\n" +
            "\t\t\t\t\t\t<p style=\"line-height:30px;\">日期: %s</p>\n" +
            "\t\t\t\t\t\t<p style=\"line-height:30px;\">负责人：%s</p>\n" +
            "\t\t\t\t\t\t<p style=\"line-height:30px;\">积极性（1-10分）：%s分</p>\n" +
            "\t\t\t\t\t\t<p style=\"line-height:30px;\">学习能力（1-10分）：%s分</p>\n" +
            "\t\t\t\t\t\t<p style=\"line-height:30px;\">工作态度（1-10分）：%s分</p>\n" +
            "\t\t\t\t\t</div>\n" +
            "\t\t\t\t\t<div style=\"margin-top:20px;\">简单点评一下TA的一周工作吧～</div>\n" +
            "\t\t\t\t\t<div>\n" +
            "\t\t\t\t\t\t<div style=\"word-wrap:break-word;width:90%%;margin-top:20px;padding:5px;font-size:20px;color:#000;\">%s</div>\n" +
            "\t\t\t\t\t</div>";

    /**
     * @description 附件
     */
    public static final String EXCEL_FILE_TYPE = ".xlsx";
    public static final String DOCX = ".docx";
    public static final String PDF = ".pdf";
    public static final List<String> APPENDIXS = List.of("rar", "zip");

    /**
     * 假期类型
     */
    public static final String ANNUAL_ADJUSTABLE_WELFARE = "带薪假";
    public static final String ANNUAL = "年假";
    public static final String WELFARE = "福利假";
    public static final String ADJUSTABLE = "调休假";
    public static final String MARRY = "婚假";
    public static final String MATERNITY_LEAVE = "产假";
    public static final String PATERNITY_LEAVE = "陪产假";
    public static final String CHILDCARE = "育儿假";
    public static final String FUNERAL = "丧假";
    public static final String SICK_EX = "长病假";
    public static final String SICK = "病假";
    public static final String AFFAIR = "事假";
    public static final String ONLINE_WORK = "线上办公";

    public static final String OVERTIME = "加班";
    public static final String PROJECT_OVERTIME = "项目加班";

    /**
     * 入职赋予的假期
     */
    public static final List<String> GAVE_HOLIDAY_TYPE = List.of(ANNUAL,WELFARE,SICK,SICK_EX,MARRY,FUNERAL,MATERNITY_LEAVE,PATERNITY_LEAVE,CHILDCARE,AFFAIR,ADJUSTABLE,ONLINE_WORK);
    /**
     * / 正式员工假勤类型
     */
    public static final List<String> APPLY_HOLIDAY_TYPE = List.of(ANNUAL_ADJUSTABLE_WELFARE,SICK,SICK_EX,MARRY,FUNERAL,MATERNITY_LEAVE,PATERNITY_LEAVE,CHILDCARE,AFFAIR,ONLINE_WORK);
    /**
     * 查看假勤数据显示的类型
     */
    public static final List<String> MY_HOLIDAY_DATA = List.of(ANNUAL,WELFARE,SICK,SICK_EX,MARRY,FUNERAL,MATERNITY_LEAVE,PATERNITY_LEAVE,CHILDCARE,AFFAIR,ADJUSTABLE);

    /**
     * 角色
     */
    public static final String HRM = "HRM";
    public static final String FINANCE = "财务";
    public static final String FINANCE_APPROVAL_FIRST = "财务一级审批";
    public static final String FINANCE_APPROVAL_SECONDARY = "财务二级审批";

    public static final String PM = "PM";
    public static final String MANAGER = "Manager";
    public static final String HR = "HR";
    public static final String SUPERVISOR = "主管";
    public static final String SIMPLE = "普通员工";

    //地区
    public static final String NC = "南昌";
    public static final String SH = "上海";

    /**
     * 员工excel列表导出字段
     */
    public static final String NULL_PACT_DATE = "无固定期限";
    public static final String REIM_EXCEL_DATE_FORMAT = "yyyy/MM/dd";
    public static final String LINE = "-";

    public static class DateInfoExcel {
        public static final String DATE = "日期";
        public static final String WEEKEND = "是否为周末";
        public static final String WORKDAY = "是否为工作日";
        public static final String HOLIDAY_LEGAL = "是否为法定节假日";
        public static final String HOLIDAY_RECESS = "是否为假期节假日";
        public static final List<String> EXCEL_HEAD = List.of(WEEKEND,WORKDAY,HOLIDAY_RECESS,HOLIDAY_LEGAL);
    }

    public static class AssetsExcel{
        public static final String ID = "设备编号";
        public static final String BELONG_REGION = "所属地";
        public static final String COMPANY_NAME = "购买公司主体";
        public static final String PURCHASE_TIME = "购买时间";
        //        public static final String USE_PERIOD = "使用年限";
        public static final String CURRENT_EMP = "现使用人";
        public static final String ASSETS_POSITION = "推荐职位";
        public static final String EQUIP_MENT_TYPE = "设备类型";
        public static final String BRAND_MODEL_NUMBER = "品牌&型号";
        public static final String USE_ORDER = "交接顺序";
        public static final String ASSETS_STATUS = "设备状态";
        public static final List<String> EXCEL_HEAD = List.of(BELONG_REGION, PURCHASE_TIME, CURRENT_EMP, ASSETS_POSITION, EQUIP_MENT_TYPE, USE_ORDER, BRAND_MODEL_NUMBER, ASSETS_STATUS);
    }

    public static final List<String> NEED_STATUS = List.of("已完成", "待检查", "待审批" , "审批中" ,"已拒绝");
    public static final List<String> OVER_STATUS = List.of("已完成", "待检查", "待审批" , "审批中" );

    public static class ReimExcel{
        public static final String applyDate = "申请日期";
        public static final String reimDate = "报销日期";
        public static final String reimMoney = "报销金额";
        public static final String ticketNumber = "发票张数";
        public static final String requestEmp = "申请人";
        public static final String email = "Email";
        public static final String status = "Status";
        public static final String reimReason = "报销明目";
        public static final String desc = "补充说明";
        public static final List<String> EXCEL_HEAD = List.of(applyDate, reimDate, reimMoney, ticketNumber, requestEmp, email, status, reimReason, desc);
    }

    /**
     * 邮件相关
     */
    public static class EMail {
        public static final String PERSONAL = "OA System";
    }

    /**
     * 订阅channel
     */
    public static final String SEND_MESSAGE_CHANNEL = "SEND_MESSAGE";

    /**
     * 区域筛选类型
     */

    public static final String ASSETS_NOT_EMPLOYEE_USED = "暂时无人使用";

    public static final String ASSETS_PUBLIC_USE = "公用";

    public static final Integer REIMBURSEMENT_LENGTH = 5;

    public static final String SEARCH_REGEX = ",|，";

    public static final Integer SEARCH_VALUE_SIZE = 1;

    /**
     * 标准的一年的天数
     */
    public static final Integer STANDARD_DAY = 365;
    public static final Integer STANDARD_USE_PERIOD = 3;
    public static final Integer STANDARD_MONTH_DAY = 31;

    /**
     * 可赋假岁数
     */
    public static final Integer STANDARD_DATE = 3;
    public static final Integer STANDARD_LEAVE_DAY = 5;
    public static final Integer STANDARD_NC_LEAVE_DAY = 5;


    /**
     * 模板docx
     */
    public static final String REIMBURSEMENT_DOC = "document/DBC报销.docx";
    @Deprecated
    public static final String ASSETS_FIRST_APPROVAL_DOC = "document/asset/withdrawal/frist_v1.0.docx";
    @Deprecated
    public static final String ASSETS_SECOND_APPROVAL_DOC = "document/asset/withdrawal/second_v1.0.docx";
    @Deprecated
    public static final String ASSETS_SCRAPPED_FIRST_APPROVAL_DOC = "document/asset/retirement/frist_v1.0.docx";
    @Deprecated
    public static final String ASSETS_SCRAPPED_SECOND_APPROVAL_DOC = "document/asset/retirement/second_v1.0.docx";
    @Deprecated
    public static final String ASSETS_SOLD_FIRST_APPROVAL_DOC = "document/asset/sale/frist_v1.0.docx";
    @Deprecated
    public static final String ASSETS_SOLD_SECOND_APPROVAL_DOC = "document/asset/sale/second_v1.0.docx";
    @Deprecated
    public static final String ASSETS_REQUEST_APPROVAL_DOC = "document/asset/apply/frist_v1.0.docx";

    /**
     * 单据类型
     */
    public static final String ADVANCE = "预支";

    /**
     * 预支编号前缀
     */
    public static final String ADVANCE_PREFIX = "YZ";

    public static final String NUMBER_PATTERN = "000000";
}
